Systems and methods for photograph mapping

ABSTRACT

Systems and methods for photograph mapping are disclosed herein. In one embodiment a first digital image and at least one user-generated datum is received from at least one user. The first image is geographically organized according to the at least one datum. The first image is associated with at least one location and at least one direction. The first image is provided from a first person perspective to a user in response to a request.

PRIORITY CLAIM

This application is a continuation of U.S. Utility application Ser. No.14/624,095 filed Feb. 17, 2015, which is in turn a continuation of U.S.Utility application Ser. No. 13/196,044 filed Aug. 2, 2011, which is inturn a continuation of U.S. Utility application Ser. No. 12/438,360filed Feb. 20, 2009, a National Stage entry under 35 USC 371 of UnitedStates Patent Cooperation Treaty Application No. PCT/US07/76718 filedAug. 24, 2007, which claims the benefit of U.S. Provisional ApplicationSer. No. 60/840,134 filed on Aug. 24, 2006 and U.S. Utility applicationSer. No. 11/844,203 filed Aug. 23, 2007, all of which are hereinincorporated by reference in their entirety.

BACKGROUND OF THE INVENTION

Consumers have an enormous and increasing need for visual detail andinformation on real-world places. This is easily evidenced by theaggressive moves into mapping and local search by Google, Yahoo,Microsoft, Amazon and others.

SUMMARY OF THE INVENTION

Systems and methods for photograph mapping are disclosed herein. In oneembodiment a first digital image and at least one user-generated datumis received from at least one user. The first image is geographicallyorganized according to the at least one datum. The first image isassociated with at least one location and at least one direction. Thefirst image is provided from a first person perspective to a user inresponse to a request.

BRIEF DESCRIPTION OF THE DRAWINGS

The preferred and alternative embodiments of the present invention aredescribed in detail below with reference to the following drawings.

FIG. 1 illustrates an example of a computing system environment 100 onwhich an embodiment of the invention may be implemented;

FIG. 2 is a functional block diagram of an exemplary operatingenvironment in which an embodiment of the invention can be implemented;

FIG. 3 shows a “Find Places” GUI finding locations and views;

FIG. 4 shows a “Walk Around” GUI in an embodiment;

FIG. 5 shows an “Upload” GUI in an embodiment;

FIG. 6A shows a sort GUI in an embodiment;

FIG. 6B shows an alternate embodiment of a Sort GUI;

FIG. 7 shows a Locate/Link GUI in an embodiment;

FIGS. 8A-E show a Save Locale button in multiple embodiments; and

FIG. 9 shows an example of a restaurant in one embodiment.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

An embodiment of the current invention provides tools that allow anyonein the world to take photos, upload them to a database, and/or put themtogether to create their own navigable locales. It is just as easy toinclude indoor data as outdoor data. Users can seamlessly navigatebetween outdoor and indoor locations.

An embodiment of the current invention provides tools to make itrelatively quick and easy to build navigable locales. Because oneembodiment of the tools works within a standard browser, the tools canbe made available to the general public anywhere in the world. Otherembodiments can be built as standalone or downloadable applications toprovide other functionality.

An embodiment of the invention works with still images, and any devicecapable of capturing digital images and transferring the images to acomputer-readable memory is compatible with the invention. Variousembodiments require no special hardware or software, no plug-ins ordownloaded applications; a standard web browser is all that is needed.Embodiments give users the ability to create and view geo-located,navigationally linked images of real-world locations, and allows anyoneto blanket an area with photos in an organized way so others can usetheir web browser to visually “walk around” that area with afirst-person perspective. Any type of place, anywhere in the world:businesses, homes, parks, travel destinations, etc. Embodiments aredesigned to allow tight physical density for this type of visualnavigation, but also allow for arbitrary physical density, where usersare free to pack spots as tight or loose as they wish.

Innovations of the current invention include an easy-to-use system formanaging large amounts of photographic images and/or linking themtogether, as well as an easy way to navigate these photographs.

Users of the current invention can interconnect locales made by manypeople to completely “blanket” a region with images, and eventually theentire world. By allowing users to interlink their locales, embodimentsenable users to create their own virtual communities oriented aroundvery specific places and/or activities or interests. Users don't evenneed to live in or near these places to contribute.

Users can create “tours” (or “trails” or “threads”) highlighting spotsor views of interest through any existing locales, including locales ofother users. The tours are like guided tours that users can create forothers to follow. When a user follows a particular tour, the user isguided through an ordered set of moves, turns and/or zooms to seewhatever the creator of the tour wants to highlight and/or talk about.The tour creator can make a set of comments that take priority over thestandard comments, showing prominently.

Locales are geo-located, and can be tagged, blogged and rated, and arefully searchable. Users can read and write comments or questions for anylocale or image in the world in place-logs (or “plogs”). Users cansearch the various data by geographic location, by tags, by comments orby other criteria.

Embodiments provide tools that allow users anywhere in the world tocreate and organize large amounts of image data quickly and efficiently.Embodiments can include integrated support for tags, comments, localeinterlinks, zooms, user requests, and other data associated with localesand/or images. Embodiments can allow many types of searches, includingbut not limited to geographic searches based on location, tag searchesbased on user-entered tags and place or landmark name searches. Thereare general map browsing tools provided by the embedded map engine, i.e.panning, zooming and changing map types.

With embodiments of the current invention, users can view specific areasor items of interest in high visual detail without requiring all theimagery for the spot to be of high resolution, and with no limits on thedetail magnification. This allows zooming in on a feature of interest ofarbitrarily high resolution, so extreme details can be provided, andallows far less data to be transferred to the client to show aparticular view.

Aspects of the invention provide users the ability to visually navigateremote places in a new, novel and natural way, using nothing more thanstill photos and a basic web browser.

Aspects of the invention provide tools that allow anyone to createvisually navigable locales from simple photos. The process is notlimited by proprietary tools or knowledge, and does not need specialequipment. Nothing is required beyond an inexpensive digital camera anda standard web browser.

In aspects of the invention you have the freedom to move aroundsimilarly to how you move in real life, i.e. you walk forward to otherspots within your forward vision, and turn left/right/up/down as if youwere there. Navigational linkage between spots is explicit, not merelyimplied by location and direction. This creates logically cohesive data.

Spots can be created wherever anyone can take pictures, i.e.indoor/outdoor, urban settings or in the middle of a forest.

Aspects of the invention allow for navigationally interlinked locales,making it possible for many individuals to collectively blanket entirecities, and indeed the world. Either through planned collaboration, orafter the fact. Interlinked locales make the whole more valuable thanthe sum of the parts.

Aspects of the invention provide virtual reality (VR)-like navigationand views, but unlike traditional VR allows for virtually unlimiteddetail of objects or points of interest without significantly increasingdata or bandwidth requirements.

Aspects of the invention include geo-location of photos by simplyclicking on a high-resolution map in a browser, using no plug-ins orextra software.

Aspects of the invention provide a new and novel visual display of the“level of dirtiness” of documents or local data.

With aspects of the invention, anyone can document a particular locationover time. Different times of day, times of year, or changes over anextended period of time.

Aspects of the invention provide for unique types of “embedded ads”directly within the first-person real-world views.

Aspects of the invention have a proprietary provisional data scheme togreatly reduce the amount of “bad data” that gets into the system.

A method of the invention includes receiving user-generated digitalimages and user-generated data about the images from users; organizingand linking the images geographically according to the user-generateddata, and displaying the images in response to a user request.

An embodiment includes but is not limited to five types of objects:views, spots, locales, zooms and trails.

A view as described herein is a single digital image, which can be aphotographic image. Each view is associated with a spot and can have adefined orientation associated with the view, including a lateral(compass) direction denoting a direction a camera was facing when theimage was captured, as well as a vertical angle relative to a horizon ofthe location. Views can include time references including time of day,date, and season.

A zoom has described herein can be a close-up image of an area or pointof interest within a view, but it need not be simply a higher resolutionzoomed version of the original view. This gives users creativeflexibility to make interesting and creative zoomed images. Views andzooms can also include tags, which are words or short phrases. Inaddition to latitude and longitude, views can also include elevation. Aview's elevation can be specified by “floor” (as in a building), or infeet above sea level.

A spot has described herein has one or more views, taken from a singlegeographic location, facing in different lateral and/or verticaldirections. Each spot has a precise geographic location, which can beindicated by latitude and longitude, elevation, GPS coordinates, orother means. In one embodiment, spots include 8 lateral views, which canalign, for example, with the 8 major compass directions. In otherembodiments, a spot can have any number of views associated with thespot, facing in arbitrary directions. Horizontally oriented lateralviews give the user the ability to rotate the view left and right,conversely views taken at other angles relative to horizontal allow theuser to see up or down. Furthermore, views taken from the same spot atdifferent times can also be included, allowing users to watch how alocation changes over time.

A locale, as described herein is a coverage area of one or more spots.Spots can be interlinked within a locale, so users can navigate betweenspots. Locales can be interlinked when their borders become sufficientlyclose or overlap, allowing users to navigate among locales withoutleaving their first-person frame of reference. Interlinked locales arelocales with linkage from one or more existing spots in one locale toone or more existing spots in another locale.

A trail as described herein is defined as paths that lead a user througha specific sequence of views and/or zooms of one or more spots in one ormore locales. Users can create a trail through their own locales orother users' locales, or a combination of both.

FIG. 1 illustrates an example of a computing system environment 100 onwhich an embodiment of the invention may be implemented. The computingsystem environment 100, as illustrated, is an example of a suitablecomputing environment, however it is appreciated that otherenvironments, systems, and devices may be used to implement variousembodiments of the invention as described in more detail below.

Embodiments of the invention are operational with numerous othergeneral-purpose or special purpose computing system environments orconfigurations. Examples of well-known computing systems, environments,and/or configurations that may be suitable for use with embodiments ofthe invention include, but are not limited to, personal computers,server computers, hand-held or laptop devices, multiprocessor systems,microprocessor-based systems, set-top boxes, programmable consumerelectronics, mobile telephones, portable data assistants, network PCs,minicomputers, mainframe computers, distributed computing environmentsthat include any of the above systems or devices, and the like.

Embodiments of the invention may be described in the general context ofcomputer-executable instructions, such as program modules, beingexecuted by a computer. Generally, program modules include routines,programs, objects, components, data structures, etc. that performparticular tasks or implement particular abstract data types.Embodiments of the invention may also be practiced indistributed-computing environments where tasks are performed by remoteprocessing devices that are linked through a communications network. Ina distributed computing environment, program modules may be located inboth local and remote computer storage media including memory storagedevices.

With reference to FIG. 1, an exemplary system for implementing anembodiment of the invention includes a computing device, such ascomputing device 100. The computing device 100 typically includes atleast one processing unit 102 and memory 104.

Depending on the exact configuration and type of computing device,memory 104 may be volatile (such as random-access memory (RAM)),nonvolatile (such as read-only memory (ROM), flash memory, etc.) or somecombination of the two. This most basic configuration is illustrated inFIG. 1 by dashed line 106.

Additionally, the device 100 may have additional features, aspects, andfunctionality. For example, the device 100 may include additionalstorage (removable and/or non-removable) which may take the form of, butis not limited to, magnetic or optical disks or tapes. Such additionalstorage is illustrated in FIG. 1 by removable storage 108 andnon-removable storage 110. Computer storage media includes volatile andnonvolatile, removable and non-removable media implemented in any methodor technology for storage of information such as computer-readableinstructions, data structures, program modules or other data. Memory104, removable storage 108 and non-removable storage 110 are allexamples of computer storage media. Computer storage media includes, butis not limited to, RAM, ROM, EEPROM, flash memory or other memorytechnology, CD-ROM, digital versatile disks (DVD) or other opticalstorage, magnetic cassettes, magnetic tape, magnetic disk storage orother magnetic storage devices, or any other medium which can be used tostore the desired information and which can be accessed by device 100.Any such computer storage media may be part of device 100.

The device 100 may also contain a communications connection 112 thatallows the device to communicate with other devices. The Communicationsconnection 112 is an example of communication media. Communication mediatypically embodies computer-readable instructions, data structures,program modules or other data in a modulated data signal such as acarrier wave or other transport mechanism and includes any informationdelivery media. The term “modulated data signal” means a signal that hasone or more of its characteristics set or changed in such a manner as toencode information in the signal. By way of example, the communicationmedia includes wired media such as a wired network or direct-wiredconnection, and wireless media such as acoustic, radio-frequency (RF),infrared and other wireless media. The term computer-readable media asused herein includes both storage media and communication media.

The device 100 may also have an input device 114 such as keyboard,mouse, pen, voice-input device, touch-input device, etc. Further, anoutput device 116 such as a display, speakers, printer, etc. may also beincluded. Additional input devices 114 and output devices 116 may beincluded depending on a desired functionality of the device 100.

Referring now to FIG. 2, an embodiment of the present invention takesthe form of an exemplary computer network system 200. The system 200includes an electronic client device 210, such as a personal computer orworkstation or portable data assistant or mobile telephone, that islinked via a communication medium, such as a network 220 (e.g., theInternet), to an electronic device or system, such as a server 230. Theserver 230 may further be coupled, or otherwise have access, to adatabase 240 and a computer system 260. Although the embodimentillustrated in FIG. 2 includes one server 230 coupled to one clientdevice 210 via the network 220, it should be recognized that embodimentsof the invention may be implemented using one or more such clientdevices coupled to one or more such servers.

The client device 210 and the server 230 may include all or fewer thanall of the features associated with the device 100 illustrated in anddiscussed with reference to FIG. 1. The client device 210 includes or isotherwise coupled to a computer screen or display 250. The client device210 may be used for various purposes such as network- andlocal-computing processes.

The client device 210 is linked via the network 220 to server 230 sothat computer programs, such as, for example, a browser, running on theclient device 210 can cooperate in two-way communication with server230. The server 230 may be coupled to database 240 to retrieveinformation therefrom and to store information thereto. Database 240 mayinclude a plurality of different tables (not shown) that can be used bythe server 230 to enable performance of various aspects of embodimentsof the invention. Additionally, the server 230 may be coupled to thecomputer system 260 in a manner allowing the server to delegate certainprocessing functions to the computer system.

Still referring to FIG. 2, and in operation according to an embodimentof the invention, a user (not shown) of the client device 210 desiringto electronically organize and map a series of photographs.

Still referring to FIG. 2, and in operation according to an embodimentof the invention, a user (not shown) of the client device 210 desiringto electronically map photographs uses a browser application running onthe client device to access web content, which may, but need not, beserved by the server 230. Specifically, by employing an appropriateuniform resource locator (URL) in a known manner, the user may downloadfrom the server 230 and install on the client device 210 a userinterface module 280 comprising computer-executable instructions asdescribed more fully hereinafter. Alternatively, the user may receivethe module 280 on a tangible computer-readable medium (not shown), suchas, for example, a CD-ROM, and subsequently install the module on theclient device 210 from the medium.

Upon execution of the module 280 by the client device 210, and referringto FIG. 3, a user interface 130 may be displayed on the display device250.

Embodiments of the invention include various graphical user interfaces(GUIs) for allowing a user to interact with the embodiments. A “FindPlaces” GUI 130 for finding locations and views is shown in FIG. 3. TheGUI 130 includes a map 132 with a zoom bar 134 and navigation buttons136 for changing an area displayed by the map 132, including a “Center”button 138. The map 132 includes markers 140 which can denote locationsof views, spots, and locales. Users can jump directly to any city,state, country or zip code by inputting the information in a “Place”field 42, or browse at random among markers 140 on the map 132, orsearch for or filter based on, tags with a “Tags” field 148. A “CurrentLocale” window 131 displays a name of, owner of, and number of spotscontained in, the current locale. The window 131 can also displayclickable options such as zooming in to or walking around the currentlocale. A legend 144 can be included, showing the spot density of eachlocale, or any other information of interest. A clickable list 146 oflocales can be included, allowing a user to select a locale from thelist 46 for display on the map 132. Tabs 149 can be included to allowusers to quickly navigate between GUI functional areas.

A “Walk Around” GUI 150 is shown in FIG. 4. The GUI 150 includes anoverhead map view 152. Users can jump directly to a spot or feature ofinterest by clicking on any marker 140 in the overhead map view 152.When a user turns, or moves to another spot, the map 152 updates to thenew location and orientation. The map 152 also shows other spots thatare in the vicinity, and the user can see at a glance which spots havealready been “visited” by the type of marker 410 on each spot; inembodiments, empty circles 151 signify unvisited spots and filledcircles 153 signify visited spots. A current spot marker 155 is a filledcircle with an arrow pointing in the current direction, and adestination marker (not shown) with a ‘+’ symbol can indicate the spotthe user moves to if the user performs the “move-forward” action.

The overhead map 152 can be a top-down view, including but not limitedto a map, satellite imagery, “bird's-eye view” imagery, an architecturalfloor plan, a hand-sketched diagram and a user-supplied image. Atop-down view provides an overview of the area of interest in enoughdetail to distinguish the positions of a locale's spots. If a customtop-down image is used, then the locale creator first geo-locates thetop-down image. In some cases, a distant panoramic side view can be usedin place of a top-down image if the area of interest is very linear, forexample, a section of seashore.

Alongside the overhead map 152 is a view window 154 for displayingdigital images, which can include real, eye-level, photographic images.Some views have “zooms”, which can be close-up images of specific areaswithin a view, or information or images related to the view. Clicking ona zoom icon can animate the zoom image so it appears to grow from theposition on the screen of its marking identifier into a larger image.The server can provide images to match the real time of day, date, orseason of the spot if images taken at different times are associatedwith the spot.

Locale, spot, view and feature (not shown) comment areas 154, 156, 158can display comments made by users about the displayed locale, spot, andview, respectively. Feature comments are related to a feature in thelocale which may appear in more than one specific view or spot, i.e. adistant mountain peak that is visible from all easterly views in alocale. Users can also make requests to be displayed in the areas 154,156, 158, such as a request that digital images be captured at aspecific spot.

Movement, turning and zooming are performed from a first-personperspective; these actions can be performed either by using thekeyboard, or by using the mouse or other user interaction. Otherinteractions include but are not limited to touch-screens, voicecommands, and/or motion controls. Users can rotate from a currentdirection to an adjacent direction. Users can navigate forward,backward, up, down, or sideways, and can navigate directly to otherspots in the locale, and the view displayed will change accordingly.

Embodiments of the invention allow users to smoothly transition from oneview to the next. When the user rotates the current direction, the oldview slides out, and as the old view slides out, the new view slides into take its place (left, right, up or down). Embodiments allow localecreators to specify the amount of overlap between any two adjacentviews, which allows the new view panning in to start out partiallyoverlapped by the old view, if desired. In the case of moving forwardand backward, the new view can zoom in or out as the old view zooms outor in, and during this process the views can fade out and in. Animatedline graphics representing the new view can “float” above the old viewand expand or contract to symbolize the movement to the new view.

An “Upload” GUI 160 shown in FIG. 5 enables users to upload digitalimages. The interface 160 includes directions 162 and a “File Upload”field 164. The user selects either an individual .jpeg or other photofile type, or .zip file containing multiple images, and presses a ‘SendFile’ button 166. While the file is being uploaded, the upload progressis displayed to the user. Once the file is uploaded, embodiments canprocess the raw uploaded image files and create multiple resolutions ofsaid images for storage on the server to be used for various purposes.As each image or batch of images is being processed, the status of theprocessing for that batch can be displayed onscreen for the user toview. Embodiments can allow the user to leave the interface 160 duringimage processing, and can allow the user to start using processed imagesbefore all images have been processed. Downloadable applications orplug-ins can be included, but are not required for uploading images.

A “Sort” GUI 170, shown in FIG. 6A, allows users to sort images 171 byspot and orientation. A spot list 172 lists all the spots associatedwith the current locale, displayed in a “My Locales” area 174. The usercan click on any spot name to select a spot and display the spot'simages in a “Current Spot” or “Selected Spot” display area 176; the area176 displays views 177 associated with the current spot.

Uploaded images which have not been assigned to a spot appear in theuser's “Unsorted Images” bin 178. In an embodiment, thumbnails arearranged in a grid, from which the user can sort the images 171 intospots corresponding to, for example, the physical location(s) from whichthey were taken. If the images 171 are in left-to-right order, then theuser can select the first image, click on a “Grab 8” button 180, andselect seven more images in order. Alternatively, if the images 171 arenot in left-to-right order, the user can select each image in order toget a left-to-right ordering. The user can add other images associatedwith a spot, like zooms or up/down shots.

When all images are selected for a desired spot, the user clicks a “NewSpot” button 82 and is prompted for a spot name. When the user enters aname, a new spot is created, and is added to the spot list 172 for thecurrent locale. Spots can be renamed by clicking a “Rename” button 184and typing a new name. Geo-located spots can be “dumped” back into theUnsorted Images bin 178 by clicking a “Dump to Unsorted” button 179.When a spot is dumped, its images are kept together as a group, withinthe Unsorted Images bin, but other references to it are deleted, such asits location on the map 1106.

FIG. 6B shows an alternate embodiment of a Sort GUI 170. The SelectedSpot area 176 includes eight views 177 associated with the eight majorcompass directions, and two zooms 185 associated with a view 177 of thespot. Users can associate zooms 185 with views 177 with either the SortGUI 170 or the Locate/Link GUI 190 (shown below).

To associate a zoom 185 with a particular point of interest on a view177, the user clicks and drags the zoom 185 onto the desired view 177,and a zoom icon 186 is created on the view 177 at that point. After thezoom 185 has been associated with its view 177, the user can repositionthe zoom 185 by clicking and dragging a zoom icon 186 representing thezoom 185 within the view 177. The interface 170 lightly constrains theicon 186 within the edges of the associated view 177, to allow easypositioning at the edges, but also allows deletion of the associationvia a quick dragging motion to escape the edges of the view 177. Whenthe zoom icon 186 has been dragged outside its associated view 177, itsgraphical representation 186 changes to highlight the fact that if theuser releases the icon 186, the association will be deleted.

Zooms 85 can be associated with any view 177, multiple different zooms185 can be associated with a single view 177, and one zoom 185 can beassociated with different views 177; for example, when an item ofinterest lies in an area which visually overlaps two adjacent views 177.Zooms 185 can be merely magnified views of an area of interest, orangles can be completely different to get a better view of an item ofinterest. The zoom 185 could “peer over, or around” a fence or otherobstacle, “peek” inside a window, or through a wall of a building, if auser has access to an image of the inside of the building. A view 177 ofthe outside of a restaurant could associate a position on therestaurant's front door with a zoom 185 of the restaurant's menu. Thezoom 185 could be an image of different times, days or seasons.

A Locate/Link GUI 190, shown in FIG. 7, allows users to specify ageographical location for each spot and create links between spots.

For existing locales, the user selects a locale from the Locale list192, and a map 94 including the locale data is displayed in a map pane196. If the user is locating a new locale the user can move the map 194to a new location by typing the location name or other identifyinginformation into a “Find Place” field 198 above the map pane 196, or theuser can position the map 194 by panning and/or zooming in until theyfind the correct place.

A “Spots” area 1100 lists all spots associated with the current locale.Spots that have already been geo-located will have an indicator, such asa checkbox 1102.

To geo-locate a spot, a user displays a desired location of the spot inthe map pane 196 and selects a spot to geo-locate by clicking on thespot name in the Spots area 1100—a selected spot's views will bedisplayed in the Selected Spot area 1104, above the map pane 196. Theuser then clicks on the map 194 at the desired location of the spot andan indicator 1106 appears at the desired location on the map 194. Onceplaced, a spot's exact location can be adjusted in fine or coarse detailby using the keyboard and/or mouse. Other embodiments can correlatespots with a set of previously defined geographic coordinates, forexample from a GPS device.

To move a spot that has already been located, users can select the spotand use the arrow keys to move the spot marker 1106 on the map 194, orhold down the “M” key (move) on the keyboard and click on the desiredlocation on the map 194, or input actual coordinate data.

Spots that have been geo-located can be linked together so users cannavigate around the locale among the spots. One embodiment allows usersto link two spots by selecting a first spot by clicking on its marker1106 or its name in the Spots area 1100, and holding down the “C” key(connect) and clicking on a marker 1106 for a second spot. A line (notshown) appears between the spots, signifying that the spots are linked.Spots can be linked with more than one other spot.

A link between spots is actually comprised of two separate “moves”, onein each direction; i.e. a move from the first spot to the second spot,and a move from the second spot to the first spot.

Embodiments can allow users to delete moves and/or links, for example,by clicking on a link marker connecting 2 spots and allowing the user tochoose which moves to delete.

Embodiments can download various meta-data about a locale, its spots,views, tags and structure to the client, giving the ability to changevarious aspects of the client GUI (like sorting criteria and/orappearance of markers on the map) without querying the server. Forexample, the default legend might color the locale markers according tohow many spots they contain, but users can change the marker colors orappearance to distinguish the visible locales by area type, i.e.Residential, Business, Park, Rural, Beach; or by user rating, or by dateof creation, or any number of other criteria.

In a network-based client-server application, there are actions thatdirectly modify data on the servers, and/or there are actions that canbe local to the user's computer until the changes are explicitly savedto the servers. There is an overhead to maintaining or synchronizing thedata between client and server. When changes that are local to theuser's computer occur, embodiments can keep track of the number ofchanges made and/or the types of changes made, and can use thatinformation to gradually alter the appearance of one or more aspects ofthe GUI on-screen as the user makes local changes, thereby giving moreuseful information to the user than a simple binary “dirty” indicator.So, for example, as the user is manipulating newly uploaded images, themodification indicator can change slightly each time the user modifiesdata; i.e. the color of the border of the graphical representation ofthe data changes from neutral to light red and eventually to deep red.Or, as shown in FIGS. 8A-8E, a button such as a “Save Locale” button1110 can change color from white to dark red.

This aspect of the invention can be applied to general-purpose softwareapplications, including desktop applications or any other software whichmanipulates data and for which those manipulations and/or themanipulated data can be saved. Various software applications and GUIshave a visual mechanism to indicate that a document is “dirty” (hasunsaved changes), but a binary representation is not nearly as useful asbeing able to see at a glance HOW dirty the document is at the moment.The rate of change of the appearance of the graphical representation ofthe dirtiness with respect to the changes in the unsaved data can be setby a user. Thus, for a text document, a user could set a visual changeto occur after adding, modifying, or deleting every ten characters, orafter every hundred characters, or after every 1,000 characters. Variedalgorithms can be used to determine when and/or how often to update theindicator(s). Embodiments can use different color schemes to make moreobvious the amount of editing that has taken place since the last save.For example, faint green to bright green to faint yellow to brightyellow to faint orange to bright orange to faint red to bright red.

Other visual indicators can optionally be offered to make it even moreobvious to the user how much editing has taken place since the lastsave. Instead of, or in addition to gradually changing colors, astrategically located icon or other graphical representation couldchange through a set of different appearances, each of a more urgentnature than the last.

Embodiments can include ads embedded within images. For example, animage of a billboard can have virtual ads placed directly in thebillboard area, complete with PPC (pay per click) outbound linking. Asshown in FIG. 9, a view 1120 of a restaurant can have a clickableembedded ad 1122 featuring the name of the restaurant and an offer offree coupons. Also, images of or near businesses or related places ofinterest can contain ads of many different kinds, including rolloverhotspots with data, imagery or PPC outbound links. Embedded ads can bein the form of zooms, where clicking on a zoom icon displays the ad. Thead links could be a portion of a captured image provided by a user, orads can be overlaid after the fact.

Clients who wish to keep ads (which may be a competitor's) off aparticular locale can pay to either run ads of their choosing, or to runno ads whatsoever on locale(s) and/or view(s) of their choosing.

Server-side software can “paste” small images/links/icons directly ontothe views themselves dynamically at delivery time. For example, in theupper right corner of all images, or of all images belonging to aparticular user, or for all images being viewed by a particular user, orfor all users from Alabama, or all locales in Alabama, etc. By addingthese ad images dynamically, embodiments can optionally reposition themto different parts of the views. Users of the invention have a trustlevel. New users generally have a trust level of zero. As theycontribute good, valid data, their trust level goes up. All localeand/or image data has a trust level equal to the trust level of the userthat supplied the data. As more trusted users view the data withoutflagging it as bad, corrupt or otherwise inappropriate, the trust levelof the data increases. Users can specify that only data of a certaintrust level or higher be displayed. Embodiments can allow businesses orother entities or groups to have restricted access to their locale dataand/or images so that only authorized representatives may view,annotate, comment on and/or manipulate the data for one or more locales.

Some entities may be willing to pay to have high quality locales createdfor their locations. Aspects of the invention can include allowing, in acontrolled way, locale creators and locations to advertise theiravailabilities and needs, for example, in view, spot, or locale commentareas, or within views in their own locales.

Entities can also pay or bid for services using points rewarded to theentity through a point system. Users are rewarded points for variousactivities, such as flagging inappropriate content or capturing one ormore digital images of a particular location. As users accumulatepoints, the users can offer the points to other users as incentives toperform some activity, such as capturing a digital image of a particularlocation or creating a locale. Points can also be used to bid for asection of pixels on our pages, which are displayed to the generalpublic. Users of the site can promote a favorite charity, a blog, abusiness, or anything to which a user wants to draw attention.

In an alternate embodiment, feature comments are included. Featurecomments are comments related to a particular feature in a locale whichcan be visible in many different views. Without this, it can sometimesbe difficult to find all the comments related to a particular item ofinterest within a locale. Essentially, it's a sub-grouping of commentsthat can be associated separately from a particular spot or view.

In yet another embodiment the view can also be partially rotated, beforeor while moving forward/backward. This allows the new view to be alignedcloser to the center of the currently displayed view, which helps theuser maintain their visual frame of reference as they move to anotherspot—especially with any zooming animation.

While the preferred embodiment of the invention has been illustrated anddescribed, as noted above, many changes can be made without departingfrom the spirit and scope of the invention. Accordingly, the scope ofthe invention is not limited by the disclosure of the preferredembodiment. Instead, the invention should be determined entirely byreference to the claims that follow.

The embodiments of the invention in which an exclusive property orprivilege is claimed are defined as follows:
 1. A method comprising:receiving a first digital image, and at least one user-generated datum,from at least one user; organizing the first image geographicallyaccording to the at least one datum, including associating the firstimage with at least one location and at least one direction; andproviding, from a first-person perspective, at least one user-generateddigital image in response to a user request.
 2. The method of claim 1,further comprising: receiving additional images and data; organizing theadditional images and the first image spatially according to the data;and providing the additional images and data in response to a userrequest.
 3. The method of claim 2, wherein organizing the additionalimages includes linking the images such that a user can access theimages from a first-person perspective.
 4. A system comprising: acomputer-readable memory including at least one user-generated digitalimage and at least one user-generated datum; a processor in datacommunication with the memory and a network; the processor comprising: afirst component configured to receive a first digital image, and atleast one user-generated datum, from at least one user; a secondcomponent configured to organize the first image geographicallyaccording to the at least one datum, including associating the firstimage with at least one location and at least one direction; and a thirdcomponent configured to provide, from a first-person perspective, atleast one user-generated digital image in response to a user request.